diff options
author | Gibheer <gibheer@gmail.com> | 2012-11-29 19:44:12 +0100 |
---|---|---|
committer | Gibheer <gibheer@gmail.com> | 2012-11-29 19:44:12 +0100 |
commit | 8c7eed073c7afa8f432da84b4cf96bffd3ba2656 (patch) | |
tree | e5a57f33139328e71954e31ad21d13de8532fd85 /spec/unit/request/parameter/[]_spec.rb | |
parent | 2762f68363d7578ca02b77e4248496c62873d93c (diff) |
added custom parameter
Diffstat (limited to 'spec/unit/request/parameter/[]_spec.rb')
-rw-r--r-- | spec/unit/request/parameter/[]_spec.rb | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/spec/unit/request/parameter/[]_spec.rb b/spec/unit/request/parameter/[]_spec.rb new file mode 100644 index 0000000..1136eae --- /dev/null +++ b/spec/unit/request/parameter/[]_spec.rb @@ -0,0 +1,56 @@ +require 'spec_helper' + +describe Zero::Request::Parameter, '#[]' do + subject { Zero::Request::Parameter.new(env) } + + context 'without parameters' do + let(:env) { EnvGenerator.get('/foo') } + + it 'returns the custom parameter' do + subject['foo'] = 'bar' + expect(subject['foo']).to eq('bar') + end + end + + context 'with query parameters' do + let(:env) { EnvGenerator.get('/foo?foo=bar') } + + it 'returns the query parameter' do + expect(subject['foo']).to eq('bar') + end + + it 'returns the custom parameter' do + subject['foo'] = 'baz' + expect(subject['foo']).to eq('baz') + end + end + + context 'with payload parameters' do + let(:env) do + EnvGenerator.post('/foo', { + :input => 'foo=bar', 'CONTENT_TYPE' => 'multipart/form-data' + }) + end + + it 'returns the payload value' do + expect(subject['foo']).to eq('bar') + end + + it 'returns the custom parameter' do + subject['foo'] = 'baz' + expect(subject['foo']).to eq('baz') + end + end + + context 'with query and payload parameters' do + let(:env) do + EnvGenerator.post('/foo?foo=baz', { + :input => 'foo=bar', 'CONTENT_TYPE' => 'multipart/form-data' + }) + end + + it 'returns the payload parameter' do + expect(subject['foo']).to eq('bar') + end + end +end |